package com.hc.commodity.dao.impl;

import com.hc.commodity.dao.EmpDao;
import com.hc.commodity.pojo.Dept;
import com.hc.commodity.pojo.Emp;
import com.hc.commodity.utils.JdbcUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

/**
 * Project：jsp_Servlet
 * Date：2021/4/9
 * Time：16:31
 *
 * @author hs
 * @version 1.0
 */
public class EmpDaoImpl implements EmpDao {
    private JdbcTemplate jdbcTemplate;

    public EmpDaoImpl() {
        jdbcTemplate = new JdbcTemplate(JdbcUtils.getDataSource());
    }
    @Override
    public List<Emp> findByPage(int beginPage, int pageSize) {
        List<Emp> emplist = jdbcTemplate.query("SELECT * FROM `emp` LIMIT ?,?", new BeanPropertyRowMapper<Emp>(Emp.class), beginPage, pageSize);
        return emplist;
    }


    @Override
    public Emp findById(int id) {
        return jdbcTemplate.queryForObject("select * from emp where empno=?", new BeanPropertyRowMapper<Emp>(Emp.class), id);
    }

    @Override
    public int findAllNumber() {
        int i = jdbcTemplate.queryForObject("select count(*) from emp", Integer.class);
        return i;
    }

    @Override
    public List<Emp> findAll() {
        return null;
    }

    @Override
    public void addEmp(Emp emp) {
        jdbcTemplate.update("insert into emp values(null,?,?,?,DATE(NOW()),?,null,?)",emp.getEname(),emp.getJob(),emp.getMgr(),emp.getSal(),emp.getDeptno());
    }

    @Override
    public void updataEmp(Emp emp) {
        System.out.println(emp);
        jdbcTemplate.update("update emp set ename=?,job=?,mgr=?,sal=?,comm=?,deptno=? where empno=?",emp.getEname(),emp.getJob(),emp.getMgr(),emp.getSal(),emp.getComm(),emp.getDeptno(),emp.getEmpno());

    }

    @Override
    public void delEmpById(int id) {
        jdbcTemplate.update("delete from emp where empno=?",id);
    }
}
